/**
 * Configuration for Acto.pages, containing default values as constants.
 *
 * @author Jorge Hernandez
 */
class org.molamil.acto.pages.PagesConf {
	
	
	// Constants
	
	/**
	 * Whether the new page will wait until the OFF state is reched or it should be displayed as 
	 * soon as <code>PageMaster.clear()</code> is executed.
	 * With value <code>true</code>
	 */
	public static function get IS_DISPLAY_AT_OFF():Boolean { return true; }
	
	/**
	 * Whether the application should call <code>PreloadController.ping()</code> when it starts (after <code>PreloadController.loadConf()</code>).
	 * With value <code>false</code>
	 */
	public static function get IS_PING():Boolean { return false; }
	
	/**
	 * Whether the application should call <code>PreloadController.preload()</code> when it starts (after <code>PreloadController.loadConf()</code>).
	 * With value <code>false</code>
	 */
	public static function get IS_PRELOAD():Boolean { return false; }
	
	/**
	 * Whether the application should stop preloading when an external page is requested, and continue preloading when the page is loaded.
	 * With value <code>true</code>
	 */
	public static function get IS_PAGE_PAUSE_PRELOAD():Boolean { return true; }
	
	/**
	 * Number of concurrent preload pages.
	 * With value <code>3</code>
	 */
	public static function get N_CONCURRENT_PRELOAD():Number { return 1; }
	
	/**
	 * Name of the temporarily <code>MovieClip</code> that will contain the loaded movies when 
	 * <code>ping()</code>.
	 * With value <code>"pingContainer_mc"</code>
	 */
	public static function get PING_CONTAINER_NAME():String { return "pingContainer_mc"; }
	
	/**
	 * Name of the temporarily <code>MovieClip</code> that will contain the loaded movies when 
	 * <code>preload()</code>.
	 * With value <code>"preloadContainer_mc"</code>
	 */
	public static function get PRELOAD_CONTAINER_NAME():String { return "preloadContainer_mc"; }
	
	/**
	 * Default MovieClip Wrapper class name.
	 * With value <code>"org.molamil.acto.mc.mcw.Thin"</code>
	 */
	public static function get DEFAULT_MCW_CLASS():String {return "org.molamil.acto.mc.mcw.Thin";}
	
	/**
	 * Default package to find MovieClip Wrapper's when only the class name is provided.
	 * With value <code>"org.molamil.acto.mc.mcw<"/code>
	 */
	public static function get DEFAULT_MCW_PACKAGE():String {return "org.molamil.acto.mc.mcw";}
	
	/**
	 * Parameter name added to the <code>PageRequest</code> when <code>HistoryManager.back()</code> 
	 * or <code>HistoryManager.forward()</code>  
	 * With value <code>"history"</code>
	 */
	public static function get HISTORY_PARAM_NAME():String {return "history";}
	
	/**
	 * Value for the added "history" parameter to the <code>PageRequest</code> when <code>HistoryManager.back()</code>
	 * With value <code>"BACK"</code>
	 */
	public static function get HISTORY_PARAM_VALUE_BACK():String {return "BACK";}
	
	/**
	 * Value for the added "history" parameter to the <code>PageRequest</code> when <code>HistoryManager.forward()</code>
	 * With value <code>"FORWARD"</code>
	 */
	public static function get HISTORY_PARAM_VALUE_FORWARD():String {return "FORWARD";}
	
	/**
	 * Param name passed for a <code>MovieRequest</code> when the movie is called from a depends with a reference of the <code>Master</code>
	 * that called the movie.
	 * With value <code>"caller"</code>
	 */
	public static function get MOVIE_PARAM_CALLER():String {return "caller";}
	
	/**
	 * Whether when <code>clearMovie()</code> the displayed movies that were depending on the clearing movie are cleared as well.
	 * With value <code>true</code>
	 */
	public static function get IS_MOVIE_CLEAR_DEPENDS_CASCADE():Boolean {return true;}
	
	
	// Properties
	
	/**
	 * Whether the new page will be displayed as soon as the current page reaches the 
	 * OUTRO state, or it should wait until the OFF state.
	 * Default value: <code>true</code>
	 */
	public static var isDisplayAtOff:Boolean = IS_DISPLAY_AT_OFF;
	
	/**
	 * Whether the application should call <code>PreloadController.ping()</code> when it starts (after <code>PreloadController.loadConf()</code>).
	 * Default value: <code>false</code>
	 */
	public static var isPing:Boolean = IS_PING;
	
	/**
	 * Whether the application should stop preloading when an external page is requested, and continue preloading when the page is loaded.
	 * Default value: <code>true</code>
	 */
	public static var isPagePausePreload:Boolean = IS_PAGE_PAUSE_PRELOAD;
	
	/**
	 * Whether the application should call <code>PreloadController.preload()</code> when it starts (after <code>PreloadController.loadConf()</code>).
	 * Default value: <code>false</code>
	 */
	public static var isPreload:Boolean = IS_PRELOAD;
	
	/**
	 * Number of concurrent preload pages.
	 * Default value: <code>3</code>
	 */
	public static var nConcurrentPreload:Number = N_CONCURRENT_PRELOAD;
	
	/**
	 * Name of the temporarily <code>MovieClip</code> that will contain the loaded movies when 
	 * <code>ping()</code>.
	 * Default value <code>"pingContainer_mc"</code>
	 */
	public static var pingContainerName:String = PING_CONTAINER_NAME;
	
	/**
	 * Name of the temporarily <code>MovieClip</code> that will contain the loaded movies when 
	 * <code>preload()</code>.
	 * Default value <code>"preloadContainer_mc"</code>
	 */
	public static var preloadContainerName:String = PRELOAD_CONTAINER_NAME;
	
	/**
	 * MovieClip Wrapper class name.
	 * Default value <code>org.molamil.acto.mc.mcw.Thin</code>
	 */
	public static var defaultMcwClass:String = DEFAULT_MCW_CLASS;
	
	/**
	 * Package to find MovieClip Wrapper's when only the class name is provided.
	 * Default value <code>org.molamil.acto.mc.mcw</code>
	 */
	public static var defaultMcwPackage:String = DEFAULT_MCW_PACKAGE;
	
	/**
	 * Parameter name added to the <code>PageRequest</code> when <code>HistoryManager.back()</code> 
	 * or <code>HistoryManager.forward()</code>  
	 * Default value <code>history</code>
	 */
	public static var historyParamName:String = HISTORY_PARAM_NAME;
	
	/**
	 * Value for the added "history" parameter to the <code>PageRequest</code> when <code>HistoryManager.back()</code>
	 * Default value <code>BACK</code>
	 */
	public static var historyParamValueBack:String = HISTORY_PARAM_VALUE_BACK;
	
	/**
	 * Value for the added "history" parameter to the <code>PageRequest</code> when <code>HistoryManager.forward()</code>
	 * Default value <code>FORWARD</code>
	 */
	public static var historyParamValueForward:String = HISTORY_PARAM_VALUE_FORWARD;
	
	/**
	 * Param name passed for a <code>MovieRequest</code> when the movie is called from a depends with a reference of the <code>Master</code>
	 * that called the movie.
	 * Default value <code>"caller"</code>
	 */
	public static var movieParamCaller:String = MOVIE_PARAM_CALLER;
	
	/**
	 * Whether when <code>clearMovie()</code> the displayed movies that were depending on the clearing movie are cleared as well.
	 * Default value <code>true</code>
	 */
	public static var isMovieClearDependsCascade:Boolean = IS_MOVIE_CLEAR_DEPENDS_CASCADE; 
	
	
	// Constructor
	
	private function PagesConf() {}
	
	
}